Adapt quartz visual code to new ways
authorMatthias Clasen <mclasen@redhat.com>
Fri, 17 Dec 2010 16:05:53 +0000 (11:05 -0500)
committerKristian Rietveld <kris@gtk.org>
Wed, 22 Dec 2010 16:46:59 +0000 (17:46 +0100)
We may still need a subclass here later, not sure

gdk/quartz/gdkdisplay-quartz.c
gdk/quartz/gdkprivate-quartz.h
gdk/quartz/gdkvisual-quartz.c

index 39e7bae9ae91be4819f7049bc3a6055823a85a93..2883136fe899794bff2bc1cb896905aa1f6c43e0 100644 (file)
@@ -63,10 +63,10 @@ gdk_display_open (const gchar *display_name)
   _gdk_display = g_object_new (GDK_TYPE_DISPLAY, NULL);
   _gdk_display->device_manager = _gdk_device_manager_new (_gdk_display);
 
-  _gdk_visual_init ();
-
   _gdk_screen = _gdk_screen_quartz_new ();
 
+  _gdk_quartz_visual_init (_gdk_screen);
+
   _gdk_windowing_window_init ();
 
   _gdk_events_init ();
index 160b4db54b6e564c7055f4b19f098abab43f2a31..0608d4e76cbc201a055443d9af8d09dc59e51b5f 100644 (file)
@@ -68,7 +68,7 @@ extern GdkDragContext *_gdk_quartz_drag_source_context;
 void _gdk_windowing_update_window_sizes     (GdkScreen *screen);
 void _gdk_windowing_window_init             (void);
 void _gdk_events_init                       (void);
-void _gdk_visual_init                       (void);
+void _gdk_quartz_visual_init                (GdkScreen *screen);
 void _gdk_input_init                        (void);
 void _gdk_quartz_event_loop_init            (void);
 
index 4ac9ed7fe51ae3e24193b2f6ce8d1415c6562c0c..24f24f6ecc1215f8e7fc9ed53ed50a0745c56153 100644 (file)
 
 #include "config.h"
 
-#include "gdkvisual.h"
+#include "gdkvisualprivate.h"
 #include "gdkprivate-quartz.h"
 
 static GdkVisual *system_visual;
 static GdkVisual *rgba_visual;
 static GdkVisual *gray_visual;
 
-static void
-gdk_visual_finalize (GObject *object)
-{
-  g_error ("A GdkVisual object was finalized. This should not happen");
-}
-
-static void
-gdk_visual_class_init (GObjectClass *class)
-{
-  class->finalize = gdk_visual_finalize;
-}
-
-GType
-gdk_visual_get_type (void)
-{
-  static GType object_type = 0;
-
-  if (!object_type)
-    {
-      const GTypeInfo object_info =
-      {
-        sizeof (GdkVisualClass),
-        (GBaseInitFunc) NULL,
-        (GBaseFinalizeFunc) NULL,
-        (GClassInitFunc) gdk_visual_class_init,
-        NULL,           /* class_finalize */
-        NULL,           /* class_data */
-        sizeof (GdkVisual),
-        0,              /* n_preallocs */
-        (GInstanceInitFunc) NULL,
-      };
-      
-      object_type = g_type_register_static (G_TYPE_OBJECT,
-                                            "GdkVisual",
-                                            &object_info, 0);
-    }
-  
-  return object_type;
-}
-
 static void
 gdk_visual_decompose_mask (gulong  mask,
                           gint   *shift,
@@ -89,14 +49,17 @@ gdk_visual_decompose_mask (gulong  mask,
 }
 
 static GdkVisual *
-create_standard_visual (gint depth)
+create_standard_visual (GdkScreen *screen,
+                        gint       depth)
 {
   GdkVisual *visual = g_object_new (GDK_TYPE_VISUAL, NULL);
 
+  visual->screen = screen;
+
   visual->depth = depth;
   visual->byte_order = GDK_MSB_FIRST; /* FIXME: Should this be different on intel macs? */
   visual->colormap_size = 0;
-  
+
   visual->type = GDK_VISUAL_TRUE_COLOR;
 
   visual->red_mask = 0xff0000;
@@ -117,10 +80,12 @@ create_standard_visual (gint depth)
 }
 
 static GdkVisual *
-create_gray_visual (void)
+create_gray_visual (GdkScreen *screen)
 {
   GdkVisual *visual = g_object_new (GDK_TYPE_VISUAL, NULL);
 
+  visual->screen = screen;
+
   visual->depth = 1;
   visual->byte_order = GDK_MSB_FIRST;
   visual->colormap_size = 0;
@@ -131,11 +96,11 @@ create_gray_visual (void)
 }
 
 void
-_gdk_visual_init (void)
+_gdk_quartz_visual_init (GdkScreen *screen)
 {
-  system_visual = create_standard_visual (24);
-  rgba_visual = create_standard_visual (32);
-  gray_visual = create_gray_visual ();
+  system_visual = create_standard_visual (screen, 24);
+  rgba_visual = create_standard_visual (screen, 32);
+  gray_visual = create_gray_visual (screen);
 }
 
 /* We prefer the system visual for now ... */
@@ -256,12 +221,3 @@ _gdk_quartz_screen_list_visuals (GdkScreen *screen)
 
   return visuals;
 }
-
-GdkScreen *
-gdk_visual_get_screen (GdkVisual *visual)
-{
-  g_return_val_if_fail (GDK_IS_VISUAL (visual), NULL);
-
-  return gdk_screen_get_default ();
-}
-